Anfy3D Users Guide and Reference Manual

The objective of this application is to provide an easy way to create 3-D interactive environments. The environments can be displayed in the Anfy3D Screen Saver and they can be viewed and experienced in Anfy3D. Not only can you create static 3-D geometry, but you can animate the geometry, add light and sound, and define the rules of interactivity in the world. .

Anfy3D is a typical Windows, object oriented application. It utilizes standard Windows GUI components such as property sheets, wizards, multiple document interface, multiple view windows per document, right mouse button context sensitive popup menus, cut and paste, drag and drop, dockable tool bars, context sensitive help, mouse wheel support, and tree windows to illustrate the hierarchical relationship of the nodes. Anfy3D virtually eliminates the need to ever type a number. Virtually all of the numerical values can be modified by dragging the cursor. It uses OpenGL to fully render 3-D images. It supports lighting, shading, and texture mapping of 2-D images on the 3-D objects. Anfy3D allows for infinite undo/redo and undo/redo history. You can create 3-D text, with True Type Fonts. Anfy3D's Browser Simulation Mode lets you experience your world without leaving the application. Anfy3D also provides a Browser Simulation Debug Mode where you can step through time as you are presented with enough information to understand exactly what is happening. Anfy3D will FTP your world file and all the dependent files up to your web site. You can also create static JPEG and Bitmap files.


FILE TYPES:

Anfy3D has its own proprietary file format with a (*.spz) extension. This is the format that you should use to save your design.

Anfy3D can write out two types of static image files; JPEG, and Bitmap. Anfy3D can read in two types of image files to be used for texture mapping; JPEG and Bitmap.


wizard

Anfy3D 1.2 Wizard docs

by Andrea Fasce

Using the new anfy3d 1.2 wizard is really simple.. This tutorial will guide you through every step of the tutorial....

When refering to texture or images we are talking about .gif or .jpg images.

Consider that you won't be able to access all dialogs when you run the wizard through anfyedit.

Step0 - The initial screen

Menus:

There are 3 different menus:

  • File menu only contains the "exit" menu
  • Options menu only contain the "change browser" menu
  • Help menu

Dialog:

Inside the "a3d scene file" you can specify the .a3d file you want to edit. Please note that if you've modified an .a3d file you've already loaded, you have to push the "reload" button.

If you want to modify an a3d project that already exists, you can push the "load html" button and a dialog will let you choose which html to load. Then every setting that's present in the html file will directly be inserted into the wizard settings.

The "Install 3ds max plugin" button will install anfy3d 3dsmax plugins directly into the plugins directory of 3dsmax. If something doesn't work, just install the plugins by hand. It's really simple; just copy the files anfy3d1x.dle (for 3dsmax v 1.x) or anfy3d2x.dle (for version 2.x) that you can find into the directory "plugins" inside the main anfy3d directory directly to the plugins directory of your 3dsmax installation.

When you have selected a scene or loaded an html file you can press the "Next" button.

Note: when loading an .a3d scene, the wizard will try to load every texture required by the scene from the same directory from where you are loading the scene file. If a texture is not found, a file requester will pop up asking you to select a .gif or .jpg image to load. If you want you can push the cancel button, and the material associated to that texture won't be textured.

Step1 - Modifying .a3d datas

As you can see from this point there's a new Button in the bottom part of the wizard. It's the 'Preview' button, which let you directly test your applet in realtime just when you're changing the parameters.

In the rest of the dialog there are 3 main groups of datas:

  • Compression: it's divided in 3 subgroups, and it's used to decide the compression level. The best way to find the right compression level is to try the scene with differents levels of compression and check all the times if everything is displayed without problems. The Names button will delete all the objects names. It will save few bytes but you wouldn't be able to identify any object in your scene by it's name.
  • Objects: This part of the dialog is used to change important datas of the objects present in your scene. Firs you have to select a node from the node list, and the changeable parameters will light up. Here are the parameters you can change: URL (the page that will be loaded when the object is selected. You must use a full URL; for example "http:\\www.anfyjava.com") - label (the label which appears over the applet area when you move the mouse over the object) - illumination (only for omni-lights: the illumination factor in a range 0 .. 1) - min radius (if different from 0 your light will be visible and shown with the lightmap texture (see STEP2)) - max radius (the maximum radius illuminated by the light). Please note that you must press the "CHANGE" button to have the parameters applied!
  • Materials: This will let you change the appearance of your material. With the "Color" button you can change the color of a material; the "Transparent" button will change the transparency of your material. The "Texture" dialog will let you choose a texture for the material. To enable a texture map you have to select the check that's near the texture Edit Box. Note: When a texture is enabled, the material 'Color' won't be used unless anfy3d will be unable to find the texture file. Also consider that you can switch a material from texture to color (you can decide if a material shoud be a solid color instead of a texture after you edited the scene) but not from color to texture. When changing a texture consider that it's not useful to have a texture bigger that 256x256 since it's internally converted to that dimension. You can use textures smaller that 256x256 without any problem. Note: you must press the "CHANGE" button to apply the parameters changes.....

Step2 - The aspects of the applet

This dialog is useful to change various aspects of the applet.

Applet aspect

This is used to change the "Width" and "Height" of the applet, and the type of optional background. Applet could have no background, a color background or an image background.

Far Clipping

This is useful when you're dealing with very large scenes. The 3d engine will stop drawing objects that are far form the observer; you can decide how far.

Fog

Rather than using a far clipping, you may decide to use fog for distant objects. This way they'll disappear gradually... Fog far is something like the far clipping: nothing will be visible after the 'fog far' distance from the observer. Fog near tell the engine where to start to draw the fog.

Scene parameters

These parameters are really useful and are used to change important aspects of the scene.

  • Lightmap: is used to tell anfy3d what texture to use as lightmap when drawing lights with min radius bigger that 0
  • Lightmodel: is very important being used to change between the illumination models supported; actually you can choose between: real(the standard ilumination model, useful for most of cases), dist(a distance based illumination model: use this to have better spheres with less visible edges), flat(flats hading model. Don't use this if you're using interaction since it's too bright),none(no illumination at all, just plain texture mapping. It's the fastest rendering type).
  • Ambient: used to set the ambient illumination when no lights are illuminating an object (useful only if you are using real, dist or flat illumination type).
  • Filter: there are a lot of different filters that you can use to improve the image. Those includes blurmotion filters, antialiasing filters etc. Just try them to find out which one you prefer. Note: filters are disabled in case of interactive mode.
  • Speed: the speed at which the animation will be played.
  • Animtime: this parameter is very important and is used to decide the way the time is handled. If you select timer the scene will play at the same speed on every machine. This means that if your scene plays in 30 seconds, it will terminate after 30 seconds on every computer. Of coursem, on slower computers the engine will skip some frames. Instead, if you select smooth the scene will be played smoothly: in other words, every frame of the scene will be played, resulting in the fact that the speed and the duration of total animation will depend from the machine on which anfy 3d it's running.
  • Loopmode: is used to decide how the scene should loop; you can choose between: ciclic(when it arrives at the end of the scene it will restart the scene starting from looprestart), oneshot(animation will be played once), pingpong( animation will be played in a ping-pong mode).
  • Looprestart: used to decide from which point restart from (or pingpong if loopmode is pingpong rather than ciclic). Consider that a frame has a duration of 'speed' ticks. This means that this value must be something like "speed*(number of frame to restart from)". This value MUST BE between the start and end values that are specifyed near the dialog. (Start and End are respectively the start tick and the end thick of your scene)

Step3 - Interaction

This dialog is very useful to select different ways of interaction with the user.

Animation type

You can switch between different ways of animating your scene using the "animation mode" list:

  • camera: this is the standard animation mode. Animation will just play without any problem
  • fly: the user will be able to fly around the scene. Change the values of animx and animy to change the speed of the fly.
  • rotate: the user will be able to rotate the scene around the target of the camera. This is very useful to let the user examine an object all around its shape. Change the values of animx and animy to change the speed of rotation.
  • topbar: a navigation bar at the top of anfy3d screen will appear and will let the user to walk and rotate all around the scene. You can change animx, animy and animz to change the speed of walking and rotating, and you can also change the foreground and background color of the navigation bar.
  • bottombar: similar to the previous one except the bar that is in the bottom of the screen.

With the mousestop button you will be able to decide if the animation should stop when the mouse enters anfy3d applet area.

Interaction

Interaction can assume the values off, on or label.

When interaction is on or is label, you'll be able to select the object on the screen, and if there's a link for an object (see Step1), a page will be opened. If you select 'label', a label will appear if an object has a label (see Step1) and you can change the style of the label.

Target frame

This is used to to decide where to open new pages if interaction is active. So you can use frames as you want.

Additional author/credits

This is used to save additional datas directly inside your .a3d scene, containing copyrights messages or other informations.

Step4 - expert mode parameters

This dialog is useful to improve the applet speed, but pay attention.. Usually it's useful to use the optimize for compatibility button...

From this dialog you can also change the browser status bar message (the message that will be shown in the bottom browser message bar when the mouse is over anfy3d screen) and the message that will appear on browsers that doesn't support java.

Step5 - registration info

With this dialog you can shareware register anfy3d for the domain you decided. Consider that if you don't register you won't be able to use the link options and if you press the mouse button into the anfy3d screen a LinkWare window will appear. Anyway you can show scenes without the need of registering.

Please note that if you register you can insert a link (reglink) and if you are not using an interactive mode (see Step 3) when someone clicks on the applet it'll link there.

Step6 - end of configuration and installation of anfy3d

With this dialog you'll be able to save all your work inside a directory.

The HTML code window shows the html code that you'll need to show Anfy3D in you page; you can copy that code directly into the clipboard so you can parte it inside your preferred html editor

copy all files to will ask you the name of an html file and then generate in such directory all the files required to show the applet. All the datas MUST be in the same directory

Set as active Desktop will set the current Anfy3D scene as an active desktop item. This means that you can create your own "3d channel bar" with your preferred links or anything you want.

Save as screensaver will save the current scene as the default screensaver. By default the screensaver will activate after 4 minutes of inactivity. Please note that on win95/98 the screensaver is the default screensaver for all the machine, on winNT the screensaver is the default screensaver for the user which installed it (that must have acces to the SYSTEM32 directory !)

Finishcan only be used if you're editing a scene with anfyedit. It'll save everything into a directory and will tell anfyedit where to load the files when uploading to the FTP.


BROWSER SIMULATION:

Anfy3D allows you to view and interact with your model in it's integrated Browser. The top right tool bar button shown above will initiate Browser Simulation Mode. Once you enter Browser Simulation Mode, you will notice the tool bars are replaced with the Browser Simulation toolbar below, and the menu commands are grayed out.

Animations will run in real time, although you can set the Time Factor to globally speed up or slow down your world. All the Animation Nodes and Sensor Nodes will be active.

Dragging the mouse will move or rotate your viewpoint. The way in which it alters your viewpoint is determined by the Navigation Mode. The three leftmost buttons in the toolbar can be used to set the Navigation Mode. When you start, the Navigation Mode is set to Walk. While you are in Walk mode, you can move around in the world by dragging the cursor on the screen. Vertical dragging will result in forward or backward movement. Horizontal dragging will result in turning. Walk Mode can be set by pressing the Walk button in the tool bar. You can set Slide Mode by pressing the Slide button in the toolbar, or by pressing the Control Key. In Slide Mode, your viewpoint will move in the direction that you drag the cursor. Vertical dragging will result in gravity defying lifting. Horizontal dragging will cause your viewpoint to slide in a sideways direction. You can set Look Mode by pressing the Look Button in the toolbar, or by pressing the Shift Key. In Look Mode, vertical dragging will nod you head up and down. Horizontal dragging will turn you head side to side. Your feet stay still. Anfy3D does not support terrain following or collision detection.

The fourth button in the toolbar is the examine button. This will allow you to rotate your viewpoint around a specific node. The node that is under the cursor when you start dragging will be the center of rotation.

The graphics will transition from an orthographic view in normal mode, to a perspective view in Browser Simulation Mode. An orthographic view assumes that the eye is very far away. A perspective view takes into account the eye location, and objects appear smaller as they move further away. We believe that the orthographic view provides the best way to see the world while designing, while the perspective view appears much more realistic.

Note, the perspective view uses the concepts of eye location and orientation. You can manipulate your viewpoint by dragging the mouse as described above. In orthographic mode, there is the same concept of view orientation, but there is no eye location, since the eye is assumed to be very far away. Therefore, while designing in orthographic view, you can rotate, pan and zoom, like typical drawing applications. While viewing in Browser Simulation Mode, you can walk around like a 3D video game.

The right mouse button popup menu contains a Headlights toggle. It also contains two cascading menus; one is a list of 5 mouse sensitivity options; from slow to fast. The other contains a list of viewpoints that are defined in the world. When you select a viewpoint, the camera will move to the position and orientation of the selected viewpoint. The camera will move fairly slowly, so you can see the viewpoint transition.

The toolbar contains arrow buttons that allow you to advance to the next and previous viewpoint, and a button that will move you back to the current viewpoint. The toolbar also contains a Straighten command that will nod your head up or down so that you will be looking level with the horizon. The camera icon in the toolbar between the left and right arrows lets you take a snapshot of the world. You can save the image in a JPEG or Bitmap file. There is also a Restart Button, and an Exit button.

The camera icon with the green box around the camera is the Create Viewpoint button that will create a viewpoint at the current view.

The tree window and property page will go away during browser simulation mode. The 3-D axis and 3-D icons will be blanked during browser simulation mode. To exit the simulation mode, you must hit the done button in the toolbar or the ESC key.


BROWSER SIMULATION DEBUG MODE:

If your animations don't interact in the way you intended, and you need some help figuring out exactly what is going on, Anfy3D provides a powerful tool to help you quickly get to the bottom of your problem. You can run the Browser Simulation in Debug Mode. You can get to this command from the View/Debug Animation command. The Debug Mode operation is different from normal operation in two ways; time moves in discrete steps, and a Debug Output Window will present you with lots of information.

You are not running in real time. You will be stepping through time in discrete steps. The four additional buttons in the toolbar shown above allow you to control how you step through time. The step size can be changed by hitting the Set Step Size button on the left side of the toolbar. You can single step by pressing the Step button in the toolbar. If you can press the Run button, the system will continue to step through time until you press the stop button. Sorry, you can't step backward.

As promised, a Browser Output Window will popup. It will display all kinds of information about the activity in the world. The window contains two panes separated by a splitter bar. The top window contains a Tree Control that shows every Animation Node, and Every Sensor Node, and all the relationships between the nodes that send and receives events. The Browser Output Window will not go away when you exit the Simulation Mode. It will hang around till you destroy it, or till you exit the application. That way, you can examine the data after your done.

As shown below, each Animation Node contains three children; the Status indicator, the Animation Log, and the Trigger list. The Status indicator displays the current status of the animation. All of the nodes that are animated by the Animation Node are listed under the status indicator. The Animation Log lists all the instances when the Animation Node starts and stops. Items are added to this list as you step through time. It also displays why and when the change occurred. The Trigger List simply displays all the triggers in the Animation Node. This list does not change as you step through time. Similarly, Sensor Nodes contain two children; a Sensor Log, and a Trigger List.

The bottom window is a simple text window. It contains a chronological listing of the status at each step. As you can see, it lists the step number, the time, and the status of all of the running animations. It will also list any interesting events that might occur, such as any triggering.


SYSTEM REQUIREMENTS:

Windows 98/95 or Windows NT.

Your Color Palette must be set ABOVE 256 color mode. If your Color Palette setting is 256 colors or less, the graphics will not function correctly. You will get an error message box telling you about this requirement. To set the color, follow these directions:

Open the Display Properties Dialog Box by right clicking on the background of the Windows Desktop, and picking properties.

Select the Settings Tab.

Change the Color Palette to something above 256.

If there is no option above 256, then try lowering your resolution. If that does not work, then you need to go out and buy a new graphics card.

A 3-D accelerated graphics card with OpenGL support will significantly improve performance.


COMMAND REFERENCE:

All of the menu commands can be broken into three areas:

1) File Activities

The File Menu

2) Modify the way you view the World.

The View and Window Menus

3) Modify the World.

The Rest of the Menus


FILE MENU:

All the filing commands can be found in the File Menu. Most of these commands are common to virtually all Windows applications.


New

The New command creates an new world containing nothing but the Ground node, and a Material palette.


Open

The Open command reads a Anfy3D world from disk with the aid of the File Selection Explorer Window.


Close

The Close command will close the current world. It will ask if you want to save the world if it has been modified.


Save

The Save command saves the current Anfy3D world.


Save As

The Save As command allows you to save the Anfy3D world to a different file.


Save Selected

The Save Selected command saves the currently selected node, and all of its descendants. If any of the descendant nodes reference a node that is not a descendant, then that node will be omitted, since it would not be valid without the referenced node. Anfy3D will protect you from creating invalid worlds.


Launch Anfy Applet

The Launch Anfy Applet will launches the current scene in the Anfy3D java applet.


Generate Anfy3D Animation

Create a moving video file of your animation. You will first be prompted for a file name. You can provide a name with a .a3d extension. You will next be presented with a dialog which will let you provide the parameters of the animation.

As you can see, you can specify the frame rate, length, and size of the animation. The Time Factor is the same Time Factor in the Browser Simulation Options Dialog. It speeds up or slows down the passage of time.


FTP to Your Server

This command will launch the Anfy3D Wizard to generate the animation. The FTP command allows you to FTP your Anfy3D animation just created to your web site. It also figures out all of the image and sound files used in your animation, and optionally FTPs them to your web site.

The FTP command will present you with a two page Wizard. The first page contains basic information needed to connect to you web server. You also must specify the site path and file name.

The second page contains a list of the dependent image and sound files. You can select which files you want to upload. Simply double click on the file name to change its status.


Merge Anfy3D Editor Files

This command is similar to the Open command, but it merges an Anfy3D world from the disk into the current world. The head node of the merged world becomes a child of the Working Group.


Import VRML 2

Import VRML 2.0 world

This command will import a *.wrl VRML 2.0 world file. The import command will skip over any animations, sensors, or scripts. All nodes skipped are listed to the user.


Build File List

Creates a list of all the external image, sound and other files that are required by the world.


EDIT MENU:

The Edit Menu contains commands that modify the position, orientation, scale, and appearance of the nodes in your world.


Undo

The Undo command undoes the previous action. The Undo/Redo system is unlimited. You can undo actions from the point at which you opened the world. View manipulations can't be undone. Only actions that modify the world can be undone.

The Undo Redo system works much like a sophisticated word processor such as MS Word. When you Undo in MS Word, it undoes your typing letter by letter. As you continue to undo, it will start undoing word by word. Anfy3D works the same way. As you undo your actions, it will allow you to undo every detail of your actions. Anfy3D will later condense the continuous Undo Redo steps on a node to a single undo step.


Redo

The redo command undoes the previous undo command. The Redo command is only available after you use the undo command.


Undo Redo History

The Undo Redo History dialog contains lists of all of the actions that can be undone and redone. The actions are identified by the type of action ( Create, Delete, or Edit ) and the node's name and type. When you pick an action in one of the lists, it will traverse the undo/redo list all the way to the selected actions. This Dialog allows you to see everything that you have done to the world since you opened the world. The Dialog is modeless. That is, you can leave the Dialog open as you do other things in the product.


Delete

The Delete command deletes the currently selected node. All of its descendants are also deleted. Anfy3D will not allow you to delete nodes if they are referenced by other nodes, since that would cause an invalid database. Anfy3D will not allow you to create an invalid database. If you try to delete a referenced node, the error message window will contain a list of the offending node dependencies.


Cut

The Cut command operates as expected. The selected node is copied to the clipboard, then deleted. The node can be pasted into the current world, or in a different world.


Copy

The Copy command operates as expected. The selected node is copied to the clipboard. The copied node can then be pasted into the current world, or in a different world.


Paste

The Paste command will create a full copy of the node hierarchy in the clipboard. You can paste nodes that have been cut or copied from a different world, or from a different Anfy3D session. You will be asked to place the new node, similar to the Creation Commands . In addition to the Paste command, the contents of the clipboard are also used in the Create Reference Node Command.


Copy State

The Copy State command saves the local location, rotation, and scale of the selected node. The copy and paste state commands also work for spine vertebra and animation key editing. Note that the State of a node is always relative to its parent.


Paste State

The Paste State command applies the copied location, rotation, and scale to the currently selected node. The copy and paste state commands also work for spine vertebra and animation key editing. Note that the State of a node is always relative to its parent.


Copy Appearance

The Copy Appearance command will allow you to copy the selected node's material and texture to the clipboard.


Paste Appearance

The Paste Appearance command will paste the texture and material that was copied to the clipboard from the Copy Appearance command to the selected node or group of nodes. If you paste into a Group, all the Children and their decendents will receive the new Appearance.


Copy Animation Key

If you are editing an animation, this command will copy the state of every node in the animation at the current key.


Paste Animation Key

If you are editing an animation, this command might paste the state of nodes in the animation at the current key. It will only paste the state if the node exists in both animation lists. You must Paste the state in the same world that you copied it from.


Copy Cross Section

The Copy Cross Section command saves the 2-D Cross Section of the selected node, if the selected node has a Cross Section. The Copy and Paste Cross Section command will be gray if the selected node does not have a Cross Section.


Paste Cross Section

The Paste Cross Section command applies the copied Cross Section to the currently selected node, if the selected node has a Cross Section. The Copy and Paste Cross Section command will be gray if the selected node does not have a Cross Section. You must Paste the Cross Section in the same world that you copied it from

When you Paste a Cross Section into a Sculpted Surface, the Cross Section will be copied to all the Cross Sections in the shape if the pasted Cross Section has a different number of points as the node. If they have the same number of points, then it will only be copied to the current vertebra. The other three types of extruded nodes only have one Cross Section.


Boolean Operations

Boolean is a common term in the world of 3-D graphics. It refers to the operations performed on two intersecting nodes, Extraction, Intersection, and Union.

Simply select the first node (Node 1) and then the second (Node 2) followed by the Boolean Operation desired.

The Extraction option allows you to cut out a section of a node with another node.

The Intersection option will yield the solid that is common to both nodes.

The Union option will combine the two nodes into one.

Note, the Boolean Operations will automatically convert your nodes to Indexed Face Sets, which have negative consequences. You will not be able to edit the individual primitives (boxes, cylinders, etc..). Also with Indexed Face Sets the file size increases.

Textures are fully supported during Boolean Operations and conversion to Indexed Face Sets. All texture coordinates will be maintained on the Indexed Face Sets during the operations. You have several options on the appearance ( texture and material ) of the resulting node. You can choose to create a single node, using either the appearance of one node or the other, or ou can create separate nodes, each maintaining the original appearance. For example, if you use a black tool to extract holes from a white die, the holes will remain black, and the die will remain white. If the nodes have textures, the textures will be applied on the resulting object.


Convert To Indexed Face Set

An Indexed Face set is made up of several arbitrarilly shaped patches of flat surfaces, called faces, in one node. Any primitive can all be converted to an Indexed Face Set. Group Nodes can also be converted to Indexed Face Sets. All children and decendents in the Group Node will also be converted to Indexed Face Sets. This allows you to quickly smash your entire world into billions of little triangles. Since, in general, this is a real bad thing to do, you will be prompted to confirm the operation.

The Convert to IFS and Merge into IFS all use the same Dialog. Grouping all the features that let you move faces in and out of IFSs in the same place. When rearranging the Faces in your IFSs, keep in mind that the Texture Coordinates are attached to the faces, and the Texture Transform and image are attached to the IFS node.


Convert To Indexed Face Set

Merge Into Indexed Face Set

The Merge into IFS command only works on Groups. All Shape nodes in the selected group will be converted to Indexed Face Sets, then merged into a single Index Face Set. This command does propagate through all groups that are descendants of the selected group. The groups will be maintained, but all the shape nodes will be merged.

The Convert to IFS and Merge into IFS all use the same Dialog. Grouping all the features that let you move faces in and out of IFSs in the same place. When rearranging the Faces in your IFSs, keep in mind that the Texture Coordinates are attached to the faces, and the Texture Transform and image are attached to the IFS node.

There is also a Merge to IFS toggle in the 3D Text Wizard. It that toggle is set, then each letter will be a single IFS.


Convert To Indexed Face Set

Explode Into Faces

The Explode Into Faces command lets you break a shape node, or groups of nodes, into individual polygons. You have the option of creating all triangles or polygons. So, you could break a Box node into 6 faces, and apply a different texture to each face.

The Convert to IFS and Merge into IFS all use the same Dialog. Grouping all the features that let you move faces in and out of IFSs in the same place. When rearranging the Faces in your IFSs, keep in mind that the Texture Coordinates are attached to the faces, and the Texture Transform and image are attached to the IFS node.


Regenerate Text Wizard

This command will allow you to edit a whole text string. It will put you back in the Text Wizard allowing you to edit any of the parameters defining the text.


Scale

Translation

The Translation toggle in the edit menu sets the current drag mode. The drag mode determines how the selected node will be affected when you drag the cursor across the screen. For details, see the section on Property Sheets . When the toggle is set, the corresponding property sheet will become active. This toggle setting also appears in the main tool bar, the Edit Menu, and the right mouse popup menu.

You can also select the node and right click the mouse to get a popup menu that will allow you to Translate.


Rotation

The Rotation toggle in the edit menu sets the current drag mode. The drag mode determines how the selected node will be affected when you drag the cursor across the screen. For details, see the section on Property Sheets . When the toggle is set, the corresponding property sheet will become active. This toggle setting also appears in the main tool bar, the Edit Menu, and the right mouse popup menu.

You can also select the node and right click the mouse to get a popup menu that will allow you to Rotate.


Scale

The Scale toggle in the edit menu sets the current drag mode. The drag mode determines how the selected node will be affected when you drag the cursor across the screen. For details, see the section on Property Sheets . When the toggle is set, the corresponding property sheet will become active. This toggle setting also appears in the main tool bar, the Edit Menu, and the right mouse popup menu.

You can also select the node and right click the mouse to get a popup menu that will allow you to Scale.


Edit Materials

The Edit Materials command will popup the Edit Materials dialog box. This dialog allows you to create, delete, or edit material nodes. Each Anfy3D world contains a list of materials. The world starts with a standard list. You can modify, add, and delete the materials with this dialog. You can pick from the materials in the Material Property page to apply a material to a shape.

The material is much more than the color of an object. The material is a set of parameters that define how light interacts with a surface.

To create a new material, simply press the "Create New Material" button. The "Delete Material" button will delete the current material. The current material is the material selected in the material list on the top left. All of the material settings apply to the currently selected material. To select a different material, popup the material list and pick the material that you want to edit. You can specify the red, green, and blue components of the Diffuse color. Press the Edit buttons to use the standard Windows Color Edit Dialog Box to automatically fill in the red, green, and blue components of each color.


Reparent

The reparent command will make the currently selected node become a child of the current working group. The easiest way to change the parent of a node is to drag and drop it inside the tree window. When you Reparent a node, the node's State parameters may change so that the node will maintain the same absolute State.


Show All

The Show All command will unhide every node in the world.


Hide

The Hide toggle will allow you to hide or unhide the selected node. Hidden nodes are not visible or selectable in the graphics windows, but they are visible and selectable in the tree window. Hiding a group node will cause all descendents of that group to become invisible. All Hidden nodes will still be written out in the .wrl file.


Refresh Textures

The Refresh Textures command will reload all the 2-D images from disk. This is useful if you edit an image file while running Anfy3D, and you want to see the effect on the 3-D world.


Comment Text

This allows you to edit the text in the World Info Node in the Anfy3D file. The World Info Node is simply a Comment node.


VIEW MENU:

The View Menu contains options that change the way that you view the world. Most of the commands apply to the active window.


Browser Simulation

This command will take you into the Browser Simulation Mode. This will allow you to see and interact with the world the way you would. In Browser Simulation Mode, all animations and triggers are active. To exit the simulation mode, you must hit the "X" button in the toolbar.

See the section on Browser Simulation Mode for more details.


Debug Animation

The Debug Animation command will cause the Browser Simulation Mode to run in Debug Mode, where you can single step through the animation, and see an in depth report on the animations and trigger activity. See the section on the Debug Mode for more details.


Browser Simulation Options

This allows you to edit the parameters that controls the browser simulation mode. There is only one parameter; the Time Scale value. The Time Scale will be applied to all animations during the simulation.


Render Options

The Render Options command brings up the Render Options dialog box. Each window has its own set of render options. The options in the dialog apply to the active window. You can apply the parameters in the dialog to all the windows if you set the Apply to All Windows toggle.

The top list allows you to pick between OpenGL 3-D graphics, or simple wire frame. The Show Axis toggle turns on and off the visibility of the 3-D axis used to display Group Nodes. The Show Utility Node 3-D Icons toggles the visibility of all the utility icons except viewpoints and lights. They have their own toggle. The Show Reference toggle allows you to suppress the display of all reference nodes to increase performance and decrease clutter. You can also turn the OpenGL texture mapping off to increase performance. The headlight toggle allows you to turn on and off a white light coming from the your viewpoint. The 3-D Icon Scale parameter is applied to all 3-D axis and 3-D icons.


Rotate View

The rotate view command pops up the View Rotation dialog box. It applies the rotation to the current window. Four of the buttons in the dialog are also in the tool bar for your convenience. This dialog is useful if you have a very specific need. Otherwise, the Dynamic Rotation command is much easier.


Dynamic Rotate

The Dynamic Rotate command allows you to rotate the view of the world by dragging the mouse. Note, you are rotating the view of the world, not the geometry. If you drag the mouse horizontally, the world will rotate about a vertical axis. Vertical dragging will rotate the world about a horizontal axis. Diagonal dragging will result in something in between. The center of rotation is the center point of the window. The depth of the center of rotation is determined by the currently selected node, or the last node that was selected. That way you will be able to keep the focus on the object that you are working on.

The Dynamic Rotate command can be locked on. You enter this mode by pressing the Dynamic Rotate icon twice. Once in this mode you will be able to rotate until you terminate the lock.


Redraw All Views

A typical redraw command.


Build File List

Grid

This command controls all of the grid functions.


Build File List

Show Global Grid

This command aligns the grid to the local coordinate system.


Build File List

Show Working Group Grid

Aligns the grid to the working group coordinate system.


Build File List

Snap To Grid

This command turns on and off grid snapping. When grid snapping is on the location you dig on the screen will snap to the closest grid coordinate.


Build File List

Grid Settings

The Grid Setting command allows you to set the spacing between the grid lines and the number of divisions. You also control grid snapping and grid display in this dialog.


Show

The Show command controls the display of all of the dockable toolbars, as well as the status bar and the Tree window.


Show Main Toolbar

This command displays or hides the dockable main toolbar.


Show View Toolbar

This command displays or hides the dockable view toolbar.


Show Creation Toolbar

This command displays or hides the dockable creation toolbar.


Show Cross Section Toolbar

This command displays or hides the dockable cross section toolbar.


Show Status Bar

This command displays or hides the status toolbar toolbar at the bottom of the graphics window.


Show

Show Tree Window

This command toggles on and off the Tree Window . The window will pop up and down with this toggle.


Zoom In

Doubles the zoom factor.


Zoom Out

Cuts the zoom factor in half.


Zoom All

Zooms out to fit the entire world.


Zoom Window

Allows you to zoom in on a rectangle that you are prompted to draw.


Pan

Pan Toward Pick Point

Allows you to pick the new center of the window. When you pick the Pan command, you will be prompted to pick the new center of the view.

Pan Toward Right (Right Arrow)

Pan Toward Left (Left Arrow)

Pan Toward Up (Up Arrow)

Pan Toward Down (Down Arrow)

These four Pan Commands will pan or scroll the current window by about a quarter of the screen in the indicated direction.


Rotate 30 Degrees

Rotate View 30 Degrees Right (Ctrl + Right Arrow)

Rotate View 30 Degrees Left (Ctrl + Left Arrow)

Rotate View 30 Degrees Up (Ctrl + Up Arrow)

Rotate View 30 Degrees Down (Ctrl + Down Arrow)

These four Rotate Commands will rotate the current window by 30 degrees in the indicated direction. The depth of the center of rotation is determined by the currently selected node, or the last node that was selected. That way you will be able to keep the focus on the object that you are working on.


Save View

Save View # 6 F6+Ctrl

Save View # 7 F7+Ctrl

Save View # 8 F8+Ctrl

Save View # 9 F9+Ctrl

Saves the view parameters of the active view window. The view parameters consist of the orientation, zoom, pan, and grid settings of the view, not the size and position of the view window. You can store four different views at a time. The numbering system matches the Function Key numbers, as you can see.


Standard Views

Front View

Right Side View

Left Side View

Top View

Back View

Bottom View

Iso View

These view commands will change the orientation of the active window's view to the view described. They do not change the zoom. The center of rotation is the center point of the window. The depth of the center of rotation is determined by the currently selected node, or the last node that was selected. That way you will be able to keep the focus on the object that you are working on.


Recall Layout

Layout View # 6 F6+Shift

Layout View # 7 F7+Shift

Layout View # 8 F8+Shift

Layout View # 9 F9+Shift

Applies the saved layout parameters. The layout parameters consist of the number of windows, the size and position of each view window, and the view orientation, zoom, grid, and pan settings. You can store four different views at a time. The numbering system matches the Function Key numbers, as you can see.


Save Layout

Save View # 6 F6+Shift+Ctrl

Save View # 7 F7+Shift+Ctrl

Save View # 8 F8+Shift+Ctrl

Save View # 9 F9+Shift+Ctrl

Saves the current layout parameters. The layout parameters consist of the number of windows, the size and position of each view window, and the view orientation, zoom, grid, and pan settings. You can store four different layouts at a time. The numbering system matches the Function Key numbers, as you can see.


Standard Layouts

Four Views

Creates the four standard views; front, top, side, and iso. It also tiles the four windows.

Side and Front

Creates the front view and a side view. It also tiles the two windows.

Top and Front

Creates the front view and the top view. It also tiles the two windows.

Single Front

Creates the front view only.


SELECTION MENU

This menu contains the commands used to select nodes.


Reset Selection (Esc)

This command deselects the selected node, and terminates any pending commands.


Select Parent (Page Up)

This command will select the parent of the currently selected node. It is very useful in quickly traversing the node structure.


Select First Child (Page Down)

This command will select the first child node of the currently selected node, if the selected node is a Group Node.


Select Previous Sibling (Home)

This command will select the previous node in the same group.


Select Next Sibling (End)

This command will select the next node in the same group.


Select Master

If the selected node is a Reference Node, then this command will select the Master node that controls the reference node.


Pick Working Group

This command will allow you to pick the current working group . You can pick the new group in a graphics window or a tree window. The cursor will change, and a prompt will remind you what you are doing. If you pick a node that is not a group node, then the parent of that node will become the working group.


Set Working Group

This command will set the current working group to the selected node. If the selected node is not a group node, then the parent of the selected node will become the working group.


Next Animation Key, Vertebra, or Node (Tab)

Previous Animation Key, Vertebra, or Node (Shift Tab)

These two commands are general purpose previous/next commands. They are also triggered by the Tab/Shift Tab keys, and the left and right arrows in the toolbar. They do different things depending on what you are doing. If you are editing an animation, you can traverse forward and backward through the Animation Keys. If you are editing the vertebra of a swept or sculptured node, then you can traverse through the spine vertebra. If neither case is true, then you can traverse forward and backward through the list of deselected nodes. This makes it very easy to traverse through all of the nodes that you have been working with recently. The mouse wheel will provide the same function as the Next / Previous buttons, if you have a mouse wheel on your mouse.


CREATE MENU

All of the create commands work the same way. You pick the create command in the tool bar or menu, then you will be prompted to pick the location of the new node. The new node will be a child of the working group. In the case of the extruded nodes, a 2-D Cross Section Window will pop up after you pick the location. You must draw a cross section, and update the solid before you can see the object.

All Create commands can be locked on. Click the command twice, and you will see that the button is locked on. Now you can keep creating the same type of node without reselecting the command. To unlock the command, select the command again, select a different Create command, or pick the Reset Selection Command (ESC).

The 3-D Text Wizard is the first button in the toolbar. The command lives in the Wizard Menu.


Box

The Box node is as simple as it gets. You may specify the three dimensions of the box. When the Box Property Page is active, you can change the size parameters by dragging the mouse on the screen. The coordinate that is closest to the movement of the mouse will get modified.


Cylinder

The Cylinder node is as one might expect. You can specify the height and radius of the cylinder. The cylinder is aligned along the local y axis. When the Cylinder Property Page is active, you can change the size parameters by dragging the mouse on the screen. The coordinate that is closest to the movement of the mouse will get modified.


Cone

The Cone node is pretty much like the cylinder node, but it's a cone. When the Cone Property Page is active, you can change the size parameters by dragging the mouse on the screen. The coordinate that is closest to the movement of the mouse will get modified.


Sphere

A sphere only has one parameter. When the Sphere Property Page is active, you can change the size parameters by dragging the mouse on the screen. The coordinate that is closest to the movement of the mouse will get modified.


Extrusion Property Page

The extrusion node is a simple cookie cutter extrusion along the Y axis. You can specify the depth of the extrusion. The extrusion node supports dragging to modify the depth.


Swept Surface Property Page

The swept surface node is what VRML refers to as an Extrusion Node. It is a cross section swept along a defined path called a spine. At each vertebra in the spine, you can specify the Scale and Rotation of the cross section in addition to the Location. To Edit the spine, you simply hit the Edit Spine toggle in the property page, or use the right mouse button popup menu option. You will see the node display as a wire frame. One of the spine vertebra will appear selected. You can select a different vertebra by picking it with the cursor, or use the previous and next arrows. You can use the previous/next arrows in the Sweep Property Page or in the toolbar. The Tab and Shift Tab keys will also select the next and previous vertebra.

When in the edit spine mode, you can not select other nodes. You can Move, Rotate, or Scale the selected vertebra and associated cross section with the Move, Rotate, and Scale property pages. To repeat that point, when you are in edit spine mode, Move, Rotate, and Scale operations will control the selected spine vertebra, NOT the node itself.

In the Edit Spine Mode, the Copy and Paste State ( Position, Orientation, and Scale) commands apply to the selected vertebra. The Insert Before button will insert a new spine vertebra before the selected vertebra. The Insert After button will insert a vertebra after the selected vertebra. The Delete button will delete the selected vertebra. You must disable the Edit Spine toggle to exit Edit Spine Mode. You can not select another node until you exit edit spine mode.This node is written in the VRML file as an extrusion or an Indexed Face Set.


Sculpted Surface

The Sculpted Surface node is an extension of the swept surface node . It even uses the same property page as the swept surface node. All the rules that apply to editing a swept surface also apply here. Sculpted Surface Nodes are identical to Swept Surface Nodes, except that at each vertebra, you can specify a different cross section.

To edit a particular cross section, enter the edit spine mode, select the vertebra that you want to edit. If there is a cross section window open, it will display the cross section that is associated with the selected vertebra. If you select a different vertebra, the cross section in the window will change to the cross section associated with the newly selected vertebra.

All of the cross sections must have the same number of points. Anfy3D ensures that they all have the same number of points. If you add or delete a point from one cross section, the action will propagate through all of the cross sections. When you first create the node, it will start with two vertebras, and both cross sections will be the same. This type of node is saved in the Anfy3D file as an Indexed Face Set.


Revolution Property Page

The Revolution node revolves the cross section about the local Y axis. You can specify the starting angle and swept angle in the property page. This is written in the Anfy3D file as an Extrusion Node or an Indexed Face Set.


GROUP NODES:

Group nodes are nodes that contain other nodes called child nodes. Any change to a group node's state ( Position, Orientation and Scale) will be propagated down to all the descendents of the group node. Therefore, you can move, scale, rotate, hide, or delete all the descendents of a group by doing that operation to the group node. The Position, Orientation, and Scale of a node is always relative to its parent node.

Group nodes appear as green headed coordinate systems, so you can see the orientation of the node. All newly created nodes will become children of the current working group. You can change the parent of a node by dragging and dropping in the Tree Window , or with the Reparent command. The section on Node Hierarchy explains the parent child relationship in more detail.

There are five different types of group nodes. They are split into two categories, Normal groups and Switched Groups.

Normal Groups:

Switched Groups:


Anchor Node

An Anchor node is similar to an HTML hyperlink. If the user clicks on any of the descendants of the Anchor, the browser will pull up the document specified in the "URL" field. The browser will also display the description of the anchor as it deems appropriate. The anchor functionality will not work inside Anfy3D, just inside the browser.


Billboard Node

A billboard node is a group node that automatically rotates itself so that it is always aligned with the users viewpoint. No matter where you look from, the orientation of the contents of the billboard group will always appear aligned, so that you are looking into the Z axis of the Billboard node.


LOD Group

LOD Node

LOD (Level of Detail) is a common term in the world of 3-D graphics. It refers to the concept of changing the look, or Level of Detail, of an object based on how far the object is from the user. If an object is far away, you don't want to waste time rendering details of the object that the user can not even see. On the other hand, if the user is very close to an object, you might want to include lots of detail to enhance the appearance.

The LOD property page will allow you to add or delete children of the LOD node. These children are called LOD Items. They are simply group nodes. Only one LOD Item is visible at a time. The currently selected LOD item will be the one that is displayed. The rest are automatically hidden. You can pick between the LOD Items with the LOD Item list, or the associated arrow buttons.

Also in the property sheet, you can specify the distances that are associated with each LOD Item. The first LOD Item always has a range value of zero. The first LOD Item will be displayed if the distance from the avatar to the object is less than the range value of the second LOD Item. The second LOD Item will appear if the distance is between the range value of the second and third LOD Items' range values. The final LOD Item will be displayed if the distance is larger than the range value of the final LOD Item. This feature is supported in the Browser Simulation Mode.

You can move nodes in and out of LOD Items by dragging and dropping nodes in the tree window. The currently selected LOD Item will appear normal in the tree window. All other LOD Items will appear hidden. If the LOD Group is the Working Group, newly created nodes will become children of the active LOD Item.


Switch Node:

A switch node is just like an LOD node, but the visible LOD Item node is not determined by the distance from the user. It is specified by user interaction. You can set up triggers that will cause the node to switch from one LOD Item to another, or show none at all. The user interaction will be explained in detail below . Editing the Switch node is the same as the LOD node, accept the Range field is grayed out.


REFERENCE NODE:

Reference Nodes:

A reference node is a special kind of node. It goes in a category all by itself. A reference node is a reference to another node in the world, called the master node. If the master node changes, then the appearance of the reference node will also change. That includes animations. If the master node is animated, then all references will do the same thing. The master node can be any type of node. If it is a group node, then all descendents in the group will be displayed in the reference node. Anfy3D will not allow you to create incestuous relationships with reference nodes.

To create a reference node, you use the Copy , and Create Reference commands. First Copy the node that you want to create a reference of by selecting that node, and hitting the COPY command. Then hit the Create Reference command. Note that if the node that is copied into the clipboard is deleted, then the Create Reference command will not be available.

If a reference node is selected, and you want to select the Master Node, simply press the Select Master command under the Selection Menu.


Viewpoint Node

The viewpoint node allows you to specify the position and orientation of the camera. When you start browsing the world in a browser, you will automatically be attached to the first viewpoint in the world. The browser provides an interface to change from one viewpoint to another. Anfy3D Browser Simulation Mode fully supports Viewpoints. Once the camera is attached to a viewpoint, if that viewpoint moves via the animation functionality, the user will move along with it. Animating the viewpoint is important in creating many types of animations.


Background Node

The background node can specify up to 6 images that will be used as a backdrop for your world. The state of the background node will affect the state of the backdrop images. First, pick the radio button describing the side you want to specify, then select the image file. The URL of the image used in the file is determined in the same manner as the Texture Node .

The ability to modify the color of the background is provided with the color property page.


Inline Node

The inline node allows you to pull in another world from another VRML file. You simply provide the URL for the world, and the browser will display the contents of that world inside your world. All translations, rotations, and scaling of the parent of the inline node will be applied to the contents of the geometry inside the inline node. The contents of an inline node will not be displayed in Anfy3D. They will be displayed in the Browser.


Sound Node

Sound nodes allow you to add sound to the world. Sounds can be on or off or toggled during browsing via the interactive functionality described below. You must provide a sound file. Wave and MIDI files are supported. The loop toggle causes the sound to replay when it reaches the end.

You can type the sound file name into the sound file field, or you can hit the folder button and use the File Selection Explorer Window to select the sound file from disk. The sound file URL that is written in the file can be the same file name as the local sound file, or you can specify an additional URL. Use the toggle on the bottom of the page to specify your choice. All relative paths are relative to the location of the Anfy3D (*.spz) file.


Light Node

The light node allows you to add special lighting to the world. Without light, the world would be dark. Therefore, Anfy3D provides headlights, so you can see. If you create special lighting, and you don't want the headlights to add additional light, you can turn them off. Anfy3D allows you to toggle the headlights. You can also toggle the headlights in the Render Option Dialog Box.

You can create point lights inn Anfy3d. A point light is like a light bulb. It shoots out light in all directions. The orientation of the light does not affect the lighting. It takes into account the position and orientation of the light. Most of the fields in the light property page require a value between 0.0 and 1.0.


Sensor Node

Sensor nodes trigger other events. There are three different types of sensor nodes; Touch, Visibility, Proximity. The Touch Sensor will trigger an event when the user clicks on any node that is in the same group as the sensor node, or is a descendant of a node in that group. The Visibility Node will trigger an event when the avatar "sees" part of the sensor box. The proximity sensor will trigger an event when the avatar enters the cube defined by all the nodes in the group that the sensor is in. All Sensors are supported in Anfy3D Browser Simulation Mode.

You create, edit, and delete triggers using the steps that are described above in the Triggers section.


Animation Node

The Animation Node allows you to bring your world to life! You can define a path, including position, orientation and scale of one or more nodes. The animation node can also trigger other events. If the animated node is a Group Node, then the entire group will be animated. When an animation node is selected, the property sheet will contain two pages specific to the node type, Triggers , and Animation. The Trigger page is cover below. The Animation page is covered here.

The animation node acts very much like a timing device. In the animation property page, you can set the time interval of the timer. There is also a loop toggle. If the loop toggle is set, the timer will restart at the beginning when it reaches the end of its cycle. If the loop toggle is not set, the animation will terminate when it reaches the end of the cycle.

There are two ways that an animation can get initiated; it can get triggered, or it will start automatically when the browser starts, if the autostart toggle is set. Both Sensor Nodes and Animation Nodes can trigger other nodes.

The Animation property page contains two other groups of controls; the Node List and the Key List. The node list is the list of nodes that are controlled by the animation node. You can add and remove nodes from that list. Any node can be added to the list, except the head node, and the animation node itself. To add a node to the list, hit the add node button. The cursor will change, and you will be prompted to select the node that is to be added to the list. You can select the node in a graphics window, or in the tree window. The Remove Node button will remove the currently selected node from the list.

The Key List group of controls allows you to add, remove, and modify keys. During the animation sequence, the nodes in the node list will transition smoothly between the position, orientation, and scale that are defined at each key frame. The animation key fraction starts at 0.0, and moves to 1.0 at the end of the time interval. When the animation node is created, it starts with two key frames, one at the start (0.0), and one at the end (1.0). You can not delete either of these two key frames. Also, you can not change their key fraction.

You can insert a new key frame by using one of the insert key buttons. You can insert a new key before or after the current key. The new key's fraction will be between the fraction's of the keys that it is inserted between. You can edit the fraction of the selected key, unless it is the first or last key. You can delete the current key with the delete key button.

We've covered a lot of stuff, but we haven't told anything to move yet! That is done by entering the Edit Animation Keys Mode. The Edit Animation Keys toggle in the property sheet will put you in the Edit Animation Keys Mode. You can also use the right mouse button popup menu option. Once you enter the edit key mode, you can exit the mode using the same toggle or menu option. You can NOT select another node until you exit Edit Animation Keys Mode.

Once in edit key mode, all the nodes in the node list will move to the state associated with the Current Key. The Current Key is the key selected in the key list box. As you change the Current Key, all the nodes in the node list will jump to the state that is associated with the newly selected key. You can change the Current Key by selecting a new key with the list box, or using the Next/Previous arrow buttons. You can use the Next/Previous buttons in the property page, or you can use the Next/Previous buttons in the toolbar. You can also use the Tab and Shift Tab keys to select the next and previous key. Also, if you have a mouse wheel on your mouse, it will select the next and previous key.

One of the nodes in the node list will be selected. That node will also appear with a highlight around it to help you identify the selected node. You can choose a different node in the node list by picking it in a graphics window, in a tree window, or in the node list in the property page. You may only select nodes that are in the animation node list. All other nodes will not be selectable, and will appear gray in the tree window. The preview mechanism will aid you in selecting another node. You may use the tree window to select a node.

When you are in the Edit Key Mode, any translating, rotating, and scaling will affect the state of the selected node at the current key frame, not the animation node itself. When the Edit Key Toggle is off, and state changes will change the state of the 3-D Animation Icon, which is a fairly useless task. You must enter the Edit Key Mode to modify the state of the nodes inside the animation. Again, when you are in the Edit Key Mode, any translating, rotating, and scaling will affect the state of the selected node at the current key frame, not the animation node itself.

Recall that if you are animating a group node, all the descendants of that group will also be affected. If you are animating a viewpoint node, or a group containing a viewpoint node, then the user's viewpoint will move with the animation, if the user is bound to that Viewpoint .

Note that the Position, Orientation, and Scale ( State ) defined at each key is relative to the node's parent. If you animate the parent node or any of its ancestors, then the node's movement will be the cumulative effect of all of the transformations. This concept is very important when designing animations. It is used in the hand example included with Anfy3D. The finger tip is animated relative to the middle finger segment, which is animated relative to the base finger segment, which is animated relative to the hand. And the hand is animated relative to ground.

To see the animation, use the slider bar on the right. It's really a good idea to create a Group node, and make the nodes animate relative to the Group. Place the group so any rotations are about an axis of the Group node.P>

If you have the loop toggle set, you should ensure that the first and last key states are identical, so that the transition will be smooth at the end of the cycle.

Anfy3D provides Copy and Paste Animation Key commands. You can use the menu options under the edit Menu, or you can use the Copy and Paste buttons in the property page. The Copy Animation Key copies the state of every node in the node list at the Current Key. The Paste Animation Key will paste the states of the nodes in the node list. Only nodes that are in both animation node lists will be affected.

The Copy and Paste State operations are very useful when designing animations.


WIZARD MENU:

Wizards are commands that lead you by the hand to accomplish a specific task. They consist of one or more modal dialog boxes. You will be presented with all the options required to describe the operation. Wizards with multiple dialog boxes, like the Create Animation Wizard, allow you to traverse forward and backward through the Dialogs. Wizards are fairly standard Windows GUI tools. Some Wizards do tasks that would be very difficult and time consuming to accomplish without the wizard, like the Create 3-D Text. Other Wizards do simple tasks that could be accomplish very easily without the wizard, like the Animation Wizard.


3-D Text Wizard

This wizard creates group Nodes whose cross sections are shaped like letters. You first define the font, font style, and size.

Next, you provide the text and the attribute options below:

Now you will provide the options that describe the Extruded Node:

The next dialog controls the dancing of the text. Each character can be controled as well as the entire text string. There are 13 different dances to select from:Tall and Short, Jump Tall and Short, Thin and Fat, Thin, Short, In and Out, In and Out with a Tilt Up, Simple Twirl, Twirl Back and Forth, Simple Spin, Jump and Spin, Simple Flip, Flip Back and Forth, and finally Down and Flip.

The next two dialogs are the standard Material Property page and Texture Property page.

Throughout the creation of the text, there is a preview window displaying the settings and options dynamically as they are entered.

After creation and placement of the text, you can select the group node containing the entire text string and select "Regenerate 3D Text Wizard" under "Edit" to put you in the text wizard to modify any options.


Camera Wizard

This wizard will lead you by the hand to create a moving Viewpoint. Viewpoint Node s define the position and orientation of the avatar (you) while browsing. The wizard will create a Viewpoint Node, and an Animation Node that it will animate the viewpoint 360 about a vertical axis. The entire contents are placed in a single group node, which can be moved or rotated to change the way the camera moves around the world. The camera will circle around and point at that Group Node.

You can specify the Viewpoint Description, which is used by the Browser UI. The Camera Distance may require some trial and error. The Time Period can be edited by editing the Animation Node. The Animation Node has both the Autostart and the Loop toggles set, since that is probably what you want. You can do whatever you want to the animation node after it is created.

This Wizard is ideal for screen savers.


Animation Wizard

This wizard will lead you by the hand to create a very basic animation. It will animate the most recently selected node. First you are presented with the Animation Options page, as shown below.

Note that the top line lists the name and type of the animated node: "Extrusion: Letter" in this case. Here you can set the Time Period, and the Loop parameter of the Animation Node . You can also choose one of the options that will start the animation. The "Autostart" option will cause the animation to start when the browser reads in the world. The "Start when Clicked" option will create a Touch Sensor Node that will trigger the animation when the animated node is clicked on by the user in the browser. This method does not work well for screen savers, since the click will terminate the screen saver. The final option does not provide a mechanism to trigger the animation. That is left to you.

.

The next three pages, which are shown below, allow you to add rotation, translation, and scale to the animation, respectively. The toggle near the top of the page will enable or disable that component of the animation. If the toggle is not set, the rest of the page will be grayed out. The rotation page does not provide a lot of options. It will rotate the node 360 degrees about whichever axis you pick. The Translate and Scale pages allow you to specify if you want the animation to go one way or back and forth. As you can see, you can scale uniformly, or you can scale about one axis.

The final page presents a summary of all of the information from the previous pages. If you don't like something you see, just go "Back" and fix it. Press "Finish" to create your Animation. You can later edit the Animation Node that the wizard created.


CROSS SECTION MENU:

The 2-D cross section window and commands allow you to draw a cross section that will be used to define the extrusion nodes . The 2-D cross section consists a series of connected lines. You want to use as few lines as possible to reduce the polygon count. The cross section menu is gray unless a 2-D cross section window is active. Also, a floating tool bar containing most of the options will popup when a cross section window is created.

The cross section menu consists of four radio buttons, and four commands. The radio buttons determine the current cross section editor mode and grid options. The four radio buttons are "Add Point", "Add Point At End", "Move Point", and "Delete Point".

You can also access these options clicking and holding the right mouse button while in the cross section creation window.


Add Point

This radio button sets the mode so that when you click in the window, you will add a new point. Anfy3D will connect the point to its closest neighbors. It might add it between two existing points, or it might add it at one of the ends. You can click in between the points that you want the new point to be connected to, then drag the point to its desired location.


Add Point At End

This is similar to the add point mode, but the new point is added at one of the ends. It will be added to the end that is closest to where you clicked.


Move Point

When you are in the Move Point mode, you can click near an existing point, then drag it to a new location.


Delete Point

When in the Delete Point mode, the point closest to your pick point will be deleted.


Apply

The Apply command applies the cross section to the solid image.


Close

The Close command will close the cross section by adding a line from the first point to the last point. If the cross section is already closed, this command will not add another point.


Abort

Close the cross section window without updating the solid.


Finish

Apply the new cross section to the solid, and close the 2-D Cross Section Window.


Normalize Height

This will scale all the points so that the total height of the shape is 1.0.


Normalize Width

This will scale all the points so that the total width of the shape is 1.0.


Rotate 90

This will rotate all the points by 90 degrees about the origin.


Pick New Origin

You will be prompted to pick the location of the new origin. All the points will be translated to accommodate the change in origin.


Show Grid

Display grid.


Snap To Grid

Turns on grid snapping.


Edit Grid Optionst

Edit Grid Options

The Grid Options command allows you to edit the grid spacing, and divisions as well as turn the grid display and snapping on or off.


Auto Force CCW

This command allows you automatically reverse the order of the 2-D points to ensure a Counter Clockwise loop.


WINDOW MENU:

The Window menu contains the same commands found in most Multiple Document Interface(MDI) applications.


New Window

This command creates a new window that will display the active world. You can have as many windows as you want. Each window can give you a different view of your world. Also, each window has its own set of render options.


Cascade

Standard Windows window management concept.


Tile Horizontal

Standard Windows window management concept.


Tile Vertical

Standard Windows window management concept.


HELP MENU:

Anfy3D help requires Netscape Navigator. Internet Explorer will not go to the correct bookmarks. If you don't have Netscape, get it now. If you have another browser besides Netscape registered to open html files, the help mechanism will only work if Netscape is running while you ask for help.


Help on Selected

This command will bring up Netscape Navigator to the location that provides help on the active property page. If there is no property sheet active, the navigator will point to help on the selected node. If there is no selected node, you will go to the top of the help page.


Help on Context

This command will cause Anfy3D to enter Window's Help on Context mode. The cursor will change to a big question mark. When you pick a toolbar or menu command, the navigator will popup displaying help on that command.


Help, Contents

Help Topics

This will bring up the HTML Help Browser.


Email Anfy3D

This command will automatically put you in your email composer addressed to Anfy3D.


Visit Our Web Site

This command will launch your internet browswer with Anfy3D as the URL.


Show Intro Demo

This toggle allows you to turn on and off the Anfy3D demo animation that will play when Anfy3D starts up.


Tip of the Day

This will bring up the Tip of the Day Dialog.


About Anfy3D

A window's standard About Window.


NODE SUMMARY:

Anfy3D supports many node types with some variations, simplifications, and extensions. Here is the breakdown. The node details will be covered below.

Shape Nodes:

Simple Shapes:

Box , Cylinder , Cone , Sphere

Extruded Shapes:

Revolution

Extrusion (Simple Cookie Cutter Extrusion)

Swept Surface (Cross Section transformed along a spine)

Sculpted Surface (Varying Cross Sections transformed along a spine)

Special Shapes:

Indexed Face Set

Group Nodes:

Normal Groups:

Group , Anchor (Hyperlink)

Switched Groups:

LOD (Level of Detail), Switch

Reference Node:

Reference

Utility Nodes:

InLine , Viewpoint , Sound , Light , Background , Sensor , Animation


NODE HIERARCHY:

Anfy3D a hierarchical tree structure to define your world. This structure is similar to the directory structure on your hard drive. All things in the structure are called nodes. The world starts with the GROUND node. All other nodes are descendents of the GROUND node. Only Group nodes have children. Group nodes are analogous to folders or directories on your hard drive. A group node can have any number of children. The best way to see the tree hierarchy is to look at a Tree View Window, shown below. All the children inherit the Position, Rotation, and Scale ( Defined here as "state" ) of their parent. Therefore, if you move, rotate, or scale a group node, all of the children of that group will also be affected. There are several different kinds of groups, as described below .

Group nodes are displayed as 3-D coordinate axes with green arrow heads. These coordinate axes are not displayed in the final animation. They are just used to help you see the position and orientation of the group. Note the Y axis has a single band near the arrowhead base. The Z axis has two bands near the arrowhead base. The X axis has none. These bands allow you to identify the axes. The axes can be toggled on and off in the render options dialog box.

When a node is first created, it becomes a child of the Working Group. The Working Group can be identified by its large green arrowheads as show below. It also has relatively large arrowheads in the Tree Window, as shown above. There are several ways to change the current working group .

You can change the parent of an existing node. The easiest way to change the parent of a node is to drag and drop the node in the tree window. Alternatively, you can use the reparent command .


SELECTION:

Only one node can be selected at a time. That node is highlighted with a white wireframe. It is also highlighted in the Tree Window. The Status Bar will display the name and type of the selected node if it has nothing better to show. You can select a different node by picking it with the cursor. You can pick nodes in a graphics window, or in a tree window. When you move the cursor over a node in the graphics window, it will preview with a dashed magenta highlight, and the status bar will display the name and node type of the previewed node. These rules for selection also apply when you are asked to select a node during various operations, such as picking the new Working Group, or a node to be used in an animation.

You can easily select among the nodes that were previously selected. Just hit Shift Tab to traverse back through the list of previously selected nodes. Tab will then traverse forward through the list. The Right/Left arrows in the toolbar are equivalent to the Tab/Shift Tab operations.

There are several handy menu options that will change the selected node. The most useful is Select Parent (Page Up). There are also Select Child ( Page Down), Select Next Sibling (End), and Select Previous Sibling (Home).


NODE REFERENCE:

The rest of the property pages are specific to the type of node that is currently selected. In fact, the title on the tab is the node type name. The following section describes each type of node in detail, the parameters that define the node, and how you can modify those parameters.


SHAPE NODES:

Shapes nodes represent the visible geometry in the world.


Simple Shapes:

There are four types of simple primitives. Each one has one or more parameters that control the dimensions of the object. You don't have to type in theses parameters. When the right property page is selected, you can control the parameters by dragging the mouse. The object will scale along the axis that is closest to the direction that you drag. The cursor image will change and a prompt in the status bar will remind you that dragging will effect the geometric parameters


Extruded Shapes:

There are four types of nodes that are created by some type of extrusion. Each node has a different way of sweeping the 2-D cross section to form a 3-D object. All four of these nodes require one or more 2-D cross sections. Therefore, all of the extrusion node property sheets have an Edit Cross Section button. When you hit that button, a 2-D Cross Section Editor Window will pop up.

When an extruded node is selected, the right mouse popup menu will contain two extra options; Edit Spine, and Edit Cross Section. The Edit Spine menu item is a toggle that corresponds to the edit spine toggle in the property page. It does not apply to the extrusion or revolution node.

When you create an extrusion node, a 2-D Cross Section Editor Window will popup. You must first draw a cross section, and update the solid before the node will be visible. After an extrusion node is created, the 2-D window will pop up if you select the Edit Cross Section button in the property page, or in the popup menu.

You can use the Copy and Paste Cross Section commands to copy the 2-D shapes from one node to another. Note that each property page has Copy and Paste Cross Section Buttons.


Special Shapes:

There is only one type of special shape, indexed face set.


Indexed Face Set Property Page

The Indexed face Set is raw data that describes a surface with a set of polygons.


Group Node

This is the simplest group node. There is nothing more to it than what has just been described.


UTILITY NODES:

Utility nodes are not visible in the browser. They provide various features to the world. They are not visible in the world, but we want them to be visible to you in Anfy3D, so you can select them. Therefore, they are displayed with a 3-D icon to illustrate to you where and what they are. The Render Options Dialog allow you to show and hide the utility 3-D icons. Utility nodes are always visible and selectable in the tree window.


Animation Triggers

As mentioned above, the animation nodes can also trigger other events. That is done in the Trigger Property page. Sensor nodes also trigger events, so many of the same rules will apply there. It was mentioned above that you can start an animation with a trigger. This section explains how to do that.

A trigger can do different things to different types of nodes. There are four different types of nodes that can be triggered. There are several different kinds of triggers for each type of node. The following table shows the trigger types for each of the four nodes that can be triggered.

Animations Node:

Start at Beginning

Restart

Stop

Toggle

Sound Node:

Start at Beginning

Restart

Stop

Toggle

Light Node:

Turn On

Turn Off

Toggle

Switch Node:

Set to Nothing

Set to one of the valid levels.

Animation and sound triggers are very similar. You can start at the beginning, or you can start where it last left off. Toggle will restart the process if it is stopped, or stop it if it is going. The light triggers are pretty simple. You can turn the light on, off, or toggle it. The switch triggers allow you to select from a list of the valid switch levels defined in the Switch Node . The Switch Node will display a different group depending on the current level.

There are three different ways an animation node can trigger another node. They are:

Animation Stops

Animation Starts

Animations starts back at the beginning.

The first option is the most useful. It will send a trigger when the animation terminates. Thus, allowing you to chain animations together. The second option will send a trigger whenever the animation starts. The final option sends a trigger when animation cycle restarts.

Now that all the options are defined, we can get on to the process of creating triggers. To create a trigger, you should hit the Add Trigger Button in the Trigger Property page. The cursor will change, and you will be prompted to select the trigger node. You will only be able to pick the four types of nodes listed above. Once the trigger node is selected, the options associated with that type of trigger node will appear in the bottom list box. You can choose the desired type of trigger and the event that will cause the trigger using the list boxes. Note that you can select the words to complete the sentence in the property sheet. You can pick among the triggers in trigger node list to choose the trigger that is edited. You can also delete the current trigger with the remove trigger button.


PROPERTY PAGES:

Like most modern Windows Apps, Anfy3D utilizes tabbed property sheets to allow the user to modify objects. The property sheet always contains the information that describes the currently selected node. Therefore, the pages in the property sheet will change depending on the type of node that is currently selected. The following section describes the property pages, and the types of nodes that require each page. The left most tab is common to all nodes. The right most tab is specific to the selected node type. The tabs in between vary accordingly.


General Property Page:

General:

All nodes require the General property page. In that page, you can modify the name of the node, and you can Hide or Show the node. The name of the parent group node is also displayed.


Translate Property Page

Translate

All nodes, with the exception of the Ground Node, will have the Translate property page. Recall that if these transformations are applied to a group node, all the descendants of that group will be influenced by the transformation.

When the translation property page is selected, the selected node will move along with the cursor as you drag it across the screen. Even if the property sheet is not showing, you can translate the selected node by dragging the cursor if you are in translate mode. There are four ways that you can set translate mode; select the translate tab in the property sheet, select the translate toggle in the tool bar, select the translate option in the Edit menu, or select the translate option in the right mouse button popup menu. You can use the same four methods to set Rotation and Scale modes. The cursor will change to remind you which mode you are in. The tool bar and menus will also show the current drag mode. Of course, you can also type the values into the fields in the property sheet.

When dragging, the motion of the node is determined by the orientation of the current view. When you drag the node, you will be moving in the plane of the screen. More exactly, you will be moving the node in the plane that is parallel to the plane of the view. The Node will not change its depth relative to the view.

If you press the control key when you finish dragging, you will create a copy of the dragged node. That Control to Copy feature is consistent with many Windows Apps. If you press the Shift Key while dragging, you will translate the node in and out of the screen. More exactly, it will move along a vector normal to the current view.


Rotate Property Page:

Rotate:

The Rotation page allows you to rotate the selected node. While in rotation mode, if you drag the cursor in the vertical direction, the node will rotate about the horizontal. If you drag in the horizontal direction, the node will rotate about the vertical axis. Diagonal dragging will result in something in between. If you press the CNTL key while rotating, the node will do a 2D rotation in the screen. More exactly, it will rotate about an axis normal to the current view.

Anfy3D uses an angle and an axis of rotation to define orientation. But, you don't have to think about it that way if you rotate by dragging the mouse.

The rotation property sheet contains many buttons that allow you to easily manipulate the orientation of the node. You can quickly rotate the node about its positive or negative axes by 90 degrees, with the rotate 90 degree buttons. Note that these rotations are relative to the node's local coordinate system. The Align buttons allow you to snap the orientation of the node to several different orientations. Notice that you can snap relative to the Ground node, the Parent node, or the Working Group. The Snap button will align the axis in whichever orientation is closest to the current orientation. The Front ... Bottom buttons will snap to the specific orientation described by the button.


Scale Property Page:

Scale:

The Scale page allows you to scale the selected node. You can do a Uniform scale, or a Nonuniform scale. Either way, you can modify the scale factor by dragging the cursor. In nonuniform mode, the axis that is scaled is the axis that is most closely aligned with the motion of the cursor. Only one axis is scaled per dragging operation.


Material Property Page

Material:

The Material and Texture nodes are only available if the selected node is a shape node.

The Material page allows you to choose between the available materials. All new Anfy3D worlds contain a predefined set of materials. The material that is selected in the Material Property Page will be applied to the shape, unless a valid texture is specified. The Edit Materials button brings up the Edit Materials Dialog Box , where you can Add, modify, and delete materials. Materials define more than just the color of a node. You can define details of how light interacts with the shape. You can create an empty world containing a set of your custom materials, and merge that material palette into your worlds.


Texture Property Page:

Textures:

You can use the texture page to map a 2-D texture image on a shape. If there is no valid texture file specified, the object will be displayed with the selected material. If a valid image file is specified, the object will be "textured" with the image.

You can type the image file name into the image file field, or you can hit the folder button and use the File Selection Explorer Window to select the image file from disk. Anfy3D will show a preview of the image when you select the image file name in the explorer window, as shown below.

The image file URL that is written in the Anfy3D file can be the same relative path and file name as the local image file, or you can specify a different URL. Use the radio buttons on the bottom of the page to specify your choice. All relative paths are relative to the location of the Anfy3D (*.spz) file.

Anfy3D supports JPEG (jpg) files and bitmap (bmp) files.

There are four sets of parameters that control how the 2-D image is mapped onto the shape; Scale, Rotate, Center, and Translate. Center specifies the center of rotation. The other three parameters are self explanatory. Like the rest of Anfy3D, there is no need to type numbers into the fields. Simply hit the radio button next to the parameter that you want to change, then click and drag the cursor across the screen. You should quickly get the feel of how dragging affects the parameters.


Locks Property Page:

Locks:

You can use the locks page to constrain any of the possible motions ( degrees of freedom ), thus constraining it to move only as desired.

For example, if you build a human avatar, you can lock all degrees of freedom of the Forearm group except for the rotation about the elbow joint. That way, when you design the gestures, it will ONLY let you rotate the forearm about the correct axis. You will NOT be able to scale or translate it at all. And, you will not be able to rotate it about an axis other than the Elbow Axis of rotation.


Anfy3D Tips

You can modify Node parameters with the Property Sheet

You can Drag the Cursor to modify most values

Press the Launch Browser button to see your world in

your Browser

You can display your own animations in the Anfy Screen Saver

Use the Tree Window to see the hierarchical relationship between the Nodes

Use the Tree Window to Pick Utility Nodes. Utility Nodes are not always visible in the graphics windows

Use the Render options Dialog Box to modify may parameters that control how you view the world

Select Dynamic Rotate to Rotate the view by dragging

Select Parent (Page Up) is very useful in selecting the Group containing the Selected Node

Select Child (Page Down), Next Sibling (End) and Previous Sibling (Home) allow you to change the selected without using the mouse

The Arrow Keys will Pan in any direction

Shift Arrow Keys will rotate your view of the world by 30 degrees

The Copy and Paste State commands allow you to apply the location, orientation, and Scale of one node to another node

The Copy and Paste State commands also work when editing animations and swept surface spine vertebra

Press the Control Key while Dragging a node, and you will create a Copy of the node

Press the Control Key to Copy while dragging in the Tree Window

Press the Shift Key while Dragging a node, and the node will move in and out

Press the Control Key while Rotating a node, and the node will rotate in the plane of the screen

The Tab and Shift Tab keys will select the next and previous Animation Keys, if you are editing an Animation Node

The Edit Materials Dialog Box will allow you to Create, and Edit colorful Materials

Use the Texture Properties Page to select a 2D image file to map a 2D image on 3D geometry

When the Browser displays your world, your avatar will be placed at the First Viewpoint Node in the world

Make the Viewpoint Node Move with an Animation Node, and the users view will move along with it

The Extrusion Node will create simple cookie cutter type extrusions

The Swept Surface Node will sweep a single cross section along a path. You can move, rotate and scale the cross section at each vertebra along the way

The Sculpted Surface Node will allow you to have a different cross section at each vertebra

LOD Nodes can change their appearance as you get closer to them

Inline Nodes allow you to nest a VRML 2.0 world inside your world

Viewpoint Nodes control the position and orientation of the avatar when Browsing

Anchors are Group Nodes, but they act like hyperlinks when you press them in a Browser

Background Nodes allow you to choose image files for the world background

The Light Node can add a point light, directional light, or a spot light to your world

The Sound Node can play a wav file on startup, or when it is triggered

Turn the headlights off if you use extensive lighting in your world

Animations can either be Started by the Autostart feature, or they can be triggered by Sensors or other Animation Nodes

Sensors can be Touch Sensors, Proximity Sensors, or Visibility Sensors

Sensors can trigger Animations, Lights, Sounds, and Switch Nodes

Animation Nodes can trigger other Animations, Lights, Sounds, and Switch Nodes

Lights and Sounds can be triggered by Sensor Nodes or by Animation Nodes

Animation Nodes can trigger other nodes, and they can also be triggered by other nodes


Arrange Icons

These are standard Windows window management concepts.


avatar

Colony City Avatar Tutorial

This tutorial will take you through the steps of building, testing, and uploading Avatars for Colony City. It will NOT go through a detailed explanation of how to create complex geometry. We will keep the shapes simple, to illustrate how to use the tools. However, it will go through the steps of building a fairly complex animation.

There are several Anfy3D files that will show you what the avatar should consist of at various steps along the way. They are located at [program files]\Anfy3d\tutorial\avatar*.spz. It is best to go through this tutorial is while running the application.

PART I: Simple Avatar:

STEP 1:

Create some simple Body Geometry. Our example consists of a Sphere for a head, and a box for the body. We textured the sphere with an image of a face. You can use our simple avatar, or you can create your own. [avatar1.spz]

STEP 2: Test your Avatar in the Avatar Arena:

Goto the Menu item: Wizards / Create Avatar Arena. You will be asked to specify the Height of your avatar. You can use the default value of 1.7 meters. When you hit OK, Anfy3D will create a new Anfy3D world containing the Blaxxun Avatar Arena proudly displaying your avatar! It will put you in Browser Mode, where you can navigate around, or use the viewpoints to check out your avatar from different perspectives. You can even attach yourself to the moving camera viewpoint. [Note, you can't test gestures, because you did not design any gestures yet. The Avatar Arena does NOT display the default whole body motion gestures that will be added to your avatar when it is built.]

When you are done checking out your avatar in the arena, you need to kill the arena world by clicking on the "X" directly above the graphics window, on the right side.

STEP 3: Build the Avatar:

Goto the Menu item: Wizards / Generate Simple Avatar. Again, you will be asked for the height. When you say OK to the height Dialog, Anfy3D will generate a simple avatar file that is ready to upload to your web site. A popup window will tell you the name of the avatar file, and how big the file is. It will warn you if it exceeds the Colony City size limit. The Avatar that is generated will contain the 8 default whole body gestures that are included in the prebuilt avatars that Colony City provides. Your avatar will also be scaled so that it is the desired height.

Next, you will be sent into the FTP Wizard that will FTP your avatar to your web site. You must have a live internet connection, or the FTP command will fail. You also must have a website, know your username and password, and know the server path where you want to put your avatar. You can skip this step by hitting the Cancel button at any time. You must fill in that information on the first page of the FTP Wizard. The Second page lets you control which dependent files you want to FTP along with the avatar. If you did not use any textures or sounds, this should be blank. If you put a texture on your shapes, then that texture file will appear in the dependant file list, and the FTP wizard will FTP the file to your website. (Note, Colony City only allows one texture file per avatar.) Press Finish, and the files will be sent to your website. A window will popup telling you if they made it there or not.

Now you can go to Colony City 3D Chat, Options / Personal Data, and type in the URL of the avatar that you just placed on the web. Hit the "a" key to see your own avatar.

PART II: Avatar with Custom Gestures:

Now that we were able to create and test a simple avatar, lets move on to a more complicated avatar. One with custom gestures. A Colony City gesture can be triggered in Colony City by typing /g1 for gesture number 1to /g8 for gesture number 8. They can also be triggered when you say a key word like hello, goodbye, or smile. You probably already know how to do that, so lets move on.

STEP 1: A very simple gesture.

Lets make a very simple gesture to start off with. We will use the animation wizard to help us along. It will create an animation that Scales the head to twice its normal size, then shrinks it back to normal. We'll take it one step at a time. First, select the sphere of the avatar. Now, goto the menu item Wizard / Animation Wizard. On the first page, select the bottom radio button marked "CoCi Gesture". Select gesture # 2 from the list to the right of the radio button. Hit Next to advance to the Rotation page. Turn OFF the Rotation toggle on this page. Hit the next button to advance to the Translation page. Make sure the Translation toggle is off. Hit the Next button to advance to the Scale page. Turn the Scale toggle ON. You can keep the rest of the scale parameters to expand the head to twice its original size, the shrink it back to normal. Hit the Finish button to complete the operation. Then, you should have something similar to [avatar2.spz].

STEP 2: Test your Gesture.

Goto the Menu item: Wizards / Create Avatar Arena. Again, it will create a world containing your avatar in the avatar arena. Hit the bar with the red "2" on it to trigger gesture number 2. When you do that, the head should grow to twice its size, and shrink back to normal. Now kill the arena world by hitting the "X" above the graphics area, and return to your avatar.

PART III: A more complex Gesture:

This gesture is going to be much more complex than the last example.

STEP 1: Create arms.

Create three nodes, then you will arrange then neatly. Create a Group node, A Cylinder node, and a Sphere node. Using the tree window, put the cylinder and sphere into the new group. Just drag the items in the tree window, and drop them in the new Group node.

Select the Group node, change the name of the group node to "arm". We are going to create an animation where the arm is going rotate. Since nodes always rotate about their origin, we are placing the group node at the place on the arm that will be the center of rotation.

Now edit the sphere node. Use the Sphere property page to change the Radius to 0.2. [Note, you can drag the cursor on the screen to automatically change the radius, when the Sphere property page is active.] Use the Trans property page to move the sphere to the origin of the group. Just put a "0" in all three coordinate fields.

Now edit the cylinder node. Use the Cylinder property page to change the Radius to 0.15, and the height to 0.6. [Note, you can drag the cursor on the screen to automatically change the radius OR height, depending on the direction that you drag.] Use the Trans property page to move the cylinder so that its end is centered on the sphere. Just put a "0" in the X and Z field, and put (-0.3) ( negative half the height ) in the Y field.

You should have something that looks like [avatar3.spz].

Now that you have one part of an arm, copy it to create the forearm. So select the group named "arm". Select the Trans page. Now drag the group node in the graphics area, BEFORE you drop the arm group, press the CONTROL key. Since the CONTROL key was depressed, you just created a COPY of the arm group. Rename the new group to "forearm".

Use the TREE window to place the new "forearm" group into the "arm" group. Do this by Dragging the "forearm", and dropping it on top of the "arm" group [or any of the children of the "arm" group]. That way the "forearm" will move along with the base arm. Now goto the Scale page of the "forearm" group. Set the uniform scale to 0.8 so that the forearm will be smaller than the arm. [You can also modify the scale by dragging the cursor on the screen]. Move the "forearm" group so that the sphere is centered with the end of the cylinder of the "arm", as shown below.

Now that we have the contents of the group finished, lets Lock them in place so we don’t accidentally change them. Select the "arm" group node, and hit the Lock Children toggle in the Group page. Now, if you click on any of the children of the "arm" group, the "arm" group will get selected. You will not be able to select any of the children, so you won't be able to change them.

We now have the geometry that we need to create an arm gesture. First, we must create a "shoulder" group that will hold the arm. So, create another Group node, name it "shoulder". Place it on the avatar, where a shoulder should go. You may need to go to the Four View layout to place the shoulder correctly. Now, use the tree window to place the "arm" group into the "shoulder" group. Edit the "arm" Node's location. Set it to 0, 0, 0, so it is aligned with the shoulder.

Now you should have something like avatar4.spz.

STEP 2: Create Animation.

We are finally ready to design the animation that will be the gesture. First, create an animation node. It's placement does not matter. Goto the Animation Property Page. [Note, since you can't see the animation node, you will have to use the tree window to select it, OR use the Previous Key to traverse the list of previously selected nodes.] Hit the "Add Node" button in the Animation Property Page. The cursor and Status prompt will change to remind you that you need to select a node that will be added to the animation. You want to select the "forearm" group node. You could click on it in the graphics region, but it is easier to hit it using the tree window. Once you pick a node, the cursor will return to normal, and that node will be added to the Node List in the Animation Property Page. Hit the "Add Node" button again, this time select the "arm" group. We now have two different nodes that will be driven by the animation node.

Now we can edit the animation. To do so, hit the "Edit Animation Keys" toggle on the top of the Animation Property Page. [That toggle will also appear in the Right Mouse popup menu when an Animation Node is selected.] The animation starts off with two keys, one at the start (0.0), and one at the end (1.0). [ The key values go from 0.0 to 1.0.] You can traverse the list of keys in the animation using the Next/Prev buttons in the tool bar, the Next/Prev buttons in the Property Page, the Tab/Shift Tab keys, and the mouse wheel. [ If you don’t have a wheel on your mouse, get one!] You can also select the key in the Key List combo box in the property page. As you can see, we want to make it REAL easy to traverse the key list.

You can traverse the list of nodes in the Animation Node list with the arrow buttons next to the list, you can select the node in the Combo box, or you can simply pick the node in the graphics area or tree window.

When the "Edit Animation Key" toggle is set, the Position, Orientation, and Scale of all Nodes in the animation's Node list will show the state of the node defined by the animation key, not the state of the node itself. And, when you edit the Position. Orientation, or Scale, you will be editing the state of the selected node in animation node list, AT the selected animation key.

This step will be best accomplished from the left side views, so, go to the left side view. Select the End Animation Key number 1 at (1.0). Select the "forearm" animation node. Goto the Rotation Property Page. While pressing the CONTROL key, drag the cursor on the screen. That will rotate the "forearm" group. Since the CONTROL key was pressed, you will be rotating the group in the plane of the screen. [That is why we went to the side view.] Rotate the arm about the shoulder to an orientation that looks reasonable for a gesture.

Now select the "arm" node by clicking on it in the graphics area or the tree window. [You don’t have to switch property pages to select a different node or key frame.] Rotate it the same way you rotated the "forearm".

[Don't worry if you screw up. The Undo/Redo system will allow you to undo or redo each modification that you make to the animation.]

Press the Next or Prev button to bounce back and forth from the two keys. You can see the arm in both key positions. [Since you can traverse the key list with the Tool bar buttons or Tab keys, you can traverse the list while looking at the rotation property page.]

Exit the "Edit Animation Key" mode using the right mouse popup menu, or the toggle in the Animation Property Page.

STEP 3: Map Animation to Gesture.

Goto The Trigger Page of the Animation Node. Here you can map a Colony City Trigger Number to this animation. Do so by hitting the "CoCi Gesture" toggle. We will leave this as Gesture 1.

STEP 4: Test.

Test the avatar in the Avatar Arena. The same step as described above. Now, Gesture 1 will trigger our new arm animation.

STEP 5: Copy Arm.

One last step, to illustrate how to copy an animation. First, you have to use the Tree window to make the animation node a child of the "shoulder" group. Drag and drop it there in the tree window. Now, select the "shoulder" group. Click the Copy button. Now click the Paste button, and place the node on the screen. Now drag the pasted arm to the other side of the avatar's body.

We could stop here, but lets go a little further. First rename both animation nodes, call one "left wave", call the other "right wave". Edit one of the animation nodes. [You will have to unlock the group nodes.] Goto the Triggers page. Hit the Add Trigger button. The cursor and status prompt will change to remind you that you need to select a node that will get triggered. Pick the other animation node using the tree window [It will be the only thing you can pick.] You control the trigger with a "select the word to complete the sentence" GUI in the Triggers page. The Sentence reads like this "When Animation: Right Wave… Stops, the Trigger Node ( Animation: Left_Wave )… will Start at beginning". That is exactly what we want. This animation will get triggered by the gesture. When it ends, it will trigger the other arm. Now lets edit the other arm's animation node. Go to the Triggers Page. Turn OFF the CoCi Gestures toggle. Now go to the Animation page. Clear the "Loop" and "Autostart" toggle. [They automatically get cleared for Gesture Animations, but this animation node is not triggered by gestures any more.]

You should be left with something similar to [avatar5.spz].

That should be enough to get you started. Good luck, and I'll see you around town.


Create Avatar Arena

Creates a list of all the external image, sound and other files that are required by the world.


Create Simple Avatar

Creates a list of all the external image, sound and other files that are required by the world.


Exit

The Exit command closes all worlds, and exits the application.


Create Interactive 3-D Worlds

  • Anfy3D allows you to design and build 3-D scenes, and bring them to life by animating the geometry, and defining rules of interactivity, which can trigger lights, sounds, and animations.
  • Anfy3D includes a Windows Screen Saver that can show your worlds, or ours. Put your company logo on all you PCs.

Easy to use, intuitive Standard Windows Interface

  • Since this application only runs on Windows and Windows NT, we were able to take advantage of the advanced GUI utilities to build a Standard Windows Interface that you already know how to use. You'll be up and running in no time.

3-D Text

  • Anfy3D lets you create 3-D text. You can create simply extruded text, or you can use any swept or sculpted node as a template.

Helpful Wizards

  • Anfy3D gives you wizards that will lead you by the hand to complete complex tasks such as creating animations and moving cameras.
>

Realistic 3D shading, lighting, and texture mapping

  • Anfy3D uses OpenGL graphics to render lifelike images. You can create directional lights, point lights, and spot lights. You can also map 2-D images on your 3-D geometry.

VRML 2.0 Browser Simulation Mode

  • Save time by testing your worlds right inside of Anfy3D without having to load up Cosmo or any other VRML Browser.

Run your animation in Browser Debug Mode

  • Single step as it records and presents all the activity. A complex animation can get very confusing. Anfy3D gives you the tools you need to figure out exactly what is happening, what caused it to happen, what it caused to happen, and when all this stuff happened.

Easy to Create Animations

  • It doesn't get much easier. We have taken a complicated task and made it simple. Define the position, rotation, and scale of your geometry at various points along a path. Sensors and Timers can trigger Animations, lights, sounds, and switches. We give you the tools you need to create the world in your imagination.

Intelligent Undo / Redo, and undo/redo history

  • It saves every detail of your most recent activities, and later consolidates the steps. Anfy3D will also create a list of the things that you did. You can traverse forward or backward through the list, undoing and redoing everything you did, undid, redid, unredid...

FTP Support

  • Anfy3D can automatically FTP you VRML 2.0 World file, and its dependent image and sound files to your Web Site

Context Sensitive Help

  • You won't be left in the dark with Anfy3D. Simply hit F1, and get help on the active property page, or the selected node. The Standard Windows Help on Context provides you with help on any menu item or tool icon.

Never Type a Number

  • Virtually all values can be manipulated by dragging the mouse. Of course, we also provide a way to type in the values.


Avatar with Gestures

Creates a list of all the external image, sound and other files that are required by the world.


Output VRML 2

Output VRML 2.0 World

This command is similar to the Launch Browser command, but this only writes the VRML 2.0 file, with the aid of the Windows Files Selection Explorer Dialog. It does not a open the browser. Several output options can be set that will help control the size and readability of the file with the VRML Export Options command.


Users Guide and Reference Manual

The objective of this application is to provide an easy way to create 3-D interactive environments. The environments can be displayed in the Anfy3D Screen Saver, they can be viewed and experienced in Anfy3D, or in a VRML 2.0 Browser, such as Cosmo Player, a standard Netscape plugin. Not only can you create static 3-D geometry, but you can animate the geometry, add light and sound, and define the rules of interactivity in the VRML 2.0 world. For more information on VRML (Virtual Reality Markup Language), see The VRML Repository .

Anfy3D is a typical Windows 95, object oriented application. It utilizes standard Windows 95 GUI components such as property sheets, wizards, multiple document interface, multiple view windows per document, right mouse button context sensitive popup menus, cut and paste, drag and drop, dockable tool bars, context sensitive help, mouse wheel support, and tree windows to illustrate the hierarchical relationship of the nodes. Anfy3D virtually eliminates the need to ever type a number. Virtually all of the numerical values can be modified by dragging the cursor. It uses OpenGL to fully render 3-D images. It supports lighting, shading, and texture mapping of 2-D images on the 3-D objects. Anfy3D allows for virtually infinite undo/redo and undo/redo history. You can create 3-D text. Anfy3D's Browser Simulation Mode lets you experience your world without leaving the application. Anfy3D also provides a Browser Simulation Debug Mode where you can step through time as you are presented with enough information to understand exactly what is happening. Anfy3D will FTP your VRML world file and all the dependent files up to your web site. You can also create animated AVI files, and static JPEG and Bitmap files.


SCREEN SAVER:

Anfy3D comes with a Windows Screen Saver. The Screen Saver animates a Anfy3D world. The Screen Saver display is the same as the Browser Simulation display, except that any keyboard or mouse activity will terminate the screen saver, as opposed to interacting with the Browser. To configure Anfy3D as your Windows Screen Saver, follow these directions:

Open the Display Properties Dialog Box by right clicking on the background of the Windows Desktop, and picking properties.

The property sheet dialog show below will popup. Select the Screen Saver Tab.

Select Anfy3D from the list of Screen Saver.

Hit the Settings... button to bring up the Anfy3D Screen Saver Options Dialog. From the dialog, you can pick a different Anfy3D world. You can edit a time scaling factor. You can even launch Anfy3D, and edit the currently selected world. You can also pick the size of the screen saver window. If your world is too complicated to run smoothly using the full screen, you can reduce the size, thus speeding up graphics.

If you have a world with static geometry, and you want to put it in a Screen Saver, then you might want to create a moving Viewpoint with the Create Moving Viewpoint Wizard. It will rotate a viewpoint 360 degrees around your world.


Send

The Send command will mail the Anfy3D file via Microsoft Exchange. Of course, you need to have MS Exchange configured.


Texture

Creates a list of all the external image, sound and other files that are required by the world.


Output VRML 2

VRML Export Options

This command allows you control the following output features for the Export VRML 2.0 World command.